Computing system power management device, system and method

ABSTRACT

Systems and devices are provided to enable granular control over a retention or active state of each of a plurality of memory circuits, such as a plurality of memory cell arrays, within a memory. Each respective memory array of the plurality of memory arrays is coupled to a respective ballast driver and a respective active memory signal switch for the respective memory array. One or more voltage regulators are coupled to a ballast driver gate node and to a bias node of at least one of the respective memory arrays. In operation, the respective active memory signal switch for a respective memory array causes the respective memory array to transition between an active state for the respective memory array and a retention state for the respective memory array.

BACKGROUND Technical Field

The present disclosure generally relates to digital logic powermanagement. More particularly, but not exclusively, the presentdisclosure relates to the configuration and efficient operation ofcomputing systems and components in disparate power states.

Description of the Related Art

Advanced systems on a chip (SoCs) may include relatively large memoryarrays of on-chip Static Random Access Memory (SRAM), with such SRAMmemory arrays being associated with high power requirements when active(while being accessed). During low load conditions, large parts of suchSRAM memory arrays may be placed in a low power condition termedretention, in which the data content of each memory array is retainedwithout requiring the corresponding memory array to quickly respond tomemory access requests. By reducing the voltage applied to the relevantSRAM memory array during retention, leakage current associated with therelevant SRAM memory array may be significantly reduced.

BRIEF SUMMARY

Typical solutions for tracking and/or managing retention voltages ofdigital logic circuits, such as SRAM memory arrays, have resulted invarious degrees of inefficiency in high leakage conditions to maintainmargins necessary to compensate for (or otherwise associated with)circuit manufacturing variations.

Systems and devices are provided to enable granular control over aretention or active state of each of a plurality of digital logiccircuits, such as a plurality of memory cell arrays. For example, in anembodiment each respective digital circuit of the plurality of digitalcircuits is coupled to a respective ballast driver and a respectiveactive signal switch for the respective digital circuit. One or morevoltage regulators are coupled to the plurality of digital circuits viaa bias node of at least one of the respective digital circuits. Inoperation, the respective active signal switch for a respective digitalcircuit causes the respective digital circuit to transition between anactive state for the respective digital circuit and a retention statefor the respective digital circuit.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary configuration of Static RandomAccess Memory (SRAM) included within a multi-processor computing system.

FIG. 2 depicts a known SRAM configuration comprising a coupled pluralityof disparately sized memory arrays.

FIGS. 3A and 3B illustrate an embodiment of a coupled plurality ofdisparately sized memory arrays in accordance with techniques describedherein.

FIG. 4 illustrates an additional embodiment of a coupled plurality ofdisparately sized memory arrays in accordance with techniques describedherein.

FIG. 5 illustrates an additional embodiment of a coupled plurality ofdisparately sized memory arrays in accordance with techniques describedherein.

FIG. 6 illustrates an additional embodiment of a coupled plurality ofdisparately sized memory arrays in accordance with techniques describedherein.

FIG. 7 illustrates an additional embodiment of a coupled plurality ofdisparately sized memory arrays in accordance with techniques describedherein.

FIG. 8 illustrates an additional embodiment of a coupled plurality ofdisparately sized memory arrays in accordance with techniques describedherein.

FIG. 9 depicts a block representation of an exemplary memory cell arrayin accordance with techniques described herein.

FIG. 10 is a functional block diagram of an embodiment of an electronicdevice or system utilizing memory array management in accordance withtechniques described herein.

DETAILED DESCRIPTION

In the following description, certain details are set forth in order toprovide a thorough understanding of various embodiments of devices,systems, methods and articles. However, one of skill in the art willunderstand that other embodiments may be practiced without thesedetails. In other instances, well-known structures and methodsassociated with, for example, circuits, such as transistors, integratedcircuits, logic gates, memories, interfaces, bus systems, etc., have notbeen shown or described in detail in some figures to avoid unnecessarilyobscuring descriptions of the embodiments.

Unless the context requires otherwise, throughout the specification andclaims which follow, the word “comprise” and variations thereof, such as“comprising,” and “comprises,” are to be construed in an open, inclusivesense, that is, as “including, but not limited to.” Reference to “atleast one of” shall be construed to mean either or both the disjunctiveand the inclusive, unless the context indicates otherwise.

Reference throughout this specification to “one embodiment,” or “anembodiment” means that a particular feature, structure or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. Thus, the appearances of the phrases “in one embodiment,” or“in an embodiment” in various places throughout this specification arenot necessarily referring to the same embodiment, or to all embodiments.Furthermore, the particular features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments to obtainfurther embodiments.

The headings are provided for convenience only, and do not interpret thescope or meaning of this disclosure.

The sizes and relative positions of elements in the drawings are notnecessarily drawn to scale. For example, the shapes of various elementsand angles are not drawn to scale, and some of these elements areenlarged and positioned to improve drawing legibility. Further, theparticular shapes of the elements as drawn are not necessarily intendedto convey any information regarding the actual shape of particularelements, and have been selected solely for ease of recognition in thedrawings.

It will be appreciated that although descriptions of various techniquespresented herein largely cite examples involving memory cell arrays(such as SRAM memory arrays), such techniques may be applicable to avariety of memory circuits, and indeed to a variety of other digitallogic circuits, in which multiple power states may be maintained and/orotherwise utilized. For example, state machines or other digitalcircuits which employ one or more flip-flops to retain data may employone or more of the techniques described herein, systems which employmultiple digital logic circuits maintained in different power states(e.g., power states associated with various operational modes, activestate, standby state, self-test state, etc.) may employ one or more ofthe techniques disclosed herein, etc.

FIG. 1 depicts an exemplary configuration of SRAM included within amulti-processor SoC 110, in which the SRAM is comprised of multipledisparately sized arrays of memory cells. As used herein, the termsmemory array and memory cell array are used interchangeably. A memoryarray is organized as a plurality of rows and columns. In the depictedconfiguration, a first multiple-core processor 120 a includes fourdistinct processing cores (respectively identified as Core1 121, Core2122, Core3 123, and Core4 124), each having a 64 KB instruction cacheand a 64 KB data cache. In particular, Core1 121 is associated withinstruction cache 121 i and data cache 121 d; Core2 122 is associatedwith instruction cache 122 i and data cache 122 d; Core3 123 isassociated with instruction cache 123 i and data cache 123 d; and Core4124 is associated with instruction cache 124 i and data cache 124 d. Inaddition, the multiple-core processor 120 a includes a shared 256 KBinstruction cache 130 i and a shared 256 KB data cache 130 d, both ofwhich are shared for use by each of Core1, Core2, Core3, and Core4.

Similarly, also in the depicted configuration of FIG. 1, a secondmultiple-core processor 120 b includes an additional four distinctprocessing cores (respectively identified as Core5 125, Core6 126, Core7127, and Core8 128), each having a 128 KB instruction cache and a 128 KBdata cache. In particular, Core5 125 is associated with instructioncache 125 i and data cache 125 d; Core6 126 is associated withinstruction cache 126 i and data cache 126 d; Core7 127 is associatedwith instruction cache 127 i and data cache 127 d; and Core8 128 isassociated with instruction cache 128 i and data cache 128 d. Inaddition, the processor 120 b includes a shared 1 MB instruction cache140 i and a shared 1 MB data cache 140 d, both of which are shared foruse by each of Core5, Core6, Core7, and Core8.

Thus, in total the SoC 110 includes eight 64 KB SRAM memory arrays,eight 128 KB SRAM memory arrays, two 256 KB SRAM memory arrays, and two1 MB SRAM memory arrays for use by a total of eight distinct processingcores between the two multi-core processors 120 a and 120 b. It will beappreciated that the SoC 110 may comprise additional components (e.g.,one or more graphical processing units, graphics and/or memoryinterfaces, I/O interfaces, secondary storage components, analog and/ordigital signal processing components, etc.) that are not shown forpurposes of clarity.

Within SoC configurations such as that depicted in FIG. 2, each ofmultiple disparately sized memory arrays may share a common bias node.In the depicted configuration, a single voltage regulator 201 is coupledvia a common bias node 212 to all of a plurality of multiple memoryarrays (in particular, eight 64 KB memory arrays 202 a-h, eight 128 KBmemory arrays 204 a-h, two 256 KB memory arrays 206 a-b, and two 1 MBmemory arrays 208 a-b), and provides current to all of those multiplememory arrays while such memory arrays are in a state of retention. Whenan active memory signal SW is switched high via memory activation switch210 to take such memory arrays out of retention, the common bias node212 is pulled to ground, increasing the current through all of thememory arrays and preparing those memory arrays for active access.However, the feedback provided to regulator 201 via the common bias node212 is thereby disrupted. As the active memory signal SW transitionsfrom high to low, the regulator must quickly return to operation,requiring a high bandwidth loop.

Because the output of the single regulator 201 does not compensate forvariations in process, operating voltage, and temperature, the memorycells of memory arrays 204, the regulator 201 and the switch 210typically are over designed in order to operate under the worst possibleconditions. In addition, it will be appreciated that in theconfiguration of FIG. 2, individual memory arrays may not enter into aretention state; instead, all of the coupled memory arrays are either inretention or in an active state, as determined by the active memorysignal SW via memory activation switch 210.

FIGS. 3A and 3B present a partial schematic diagram in accordance withan embodiment of techniques described herein, in which each of aplurality of twenty disparately sized memory cell arrays (eight 64 KBmemory arrays 302 a-h, eight 128 KB memory arrays 310 a-h, two 256 KBmemory arrays 318 a-b, and two 1 MB memory arrays 330 a-b) is coupled toits own respective voltage regulator 334 having an input coupled to abias node for the respective memory array and an output coupled arespective gate node of a respective ballast driver 338. In at least thedepicted embodiment, the voltage regulator 338 may be a low drop-outregulator (LDO), a linear voltage regulator designed to operate with avery low input-to-output voltage differential (dropout voltage) in orderto minimize the power dissipated as heat on the device. Compared toDC-DC switching converters, LDO regulators typically do not generateripple as a result of the small number of external passive componentsneeded. In the depicted embodiment, the respective voltage regulatorsfacilitate maintaining high area efficiency over a wide range of loadingconditions, offering increased granularity of small memory array wake-upand retention by controlling distributed ballast in each of those memoryarrays. Such an embodiment enables retention till access with highlyefficient current leakage recovery.

In the depicted embodiment, the eight 64 KB memory arrays 302 a-h areeach coupled to a respective LDO 304 a-h and an active memory signalswitch 306 a-h, which control entry and exit from retention for eachcorresponding coupled memory array. Each of the eight 128 KB memoryarrays 310 a-h is similarly coupled to a respective LDO 312 a-h, as wellas a respective active memory signal switch 314 a-h. In a similarmanner, each of the two 256 KB memory arrays 318 a-b is coupled to arespective LDO 320 a-b, as well as a respective active memory signalswitch 322 a-b; each of the two 1 MB memory arrays 330 a-b is coupled toa respective LDO 332 a-b, as well as a respective active memory signalswitch 338 a-b. In notable contrast to the configuration of FIG. 2 (inwhich a single signal SW activates or places into retention all or noneof memory arrays 202 a-h, 204 a-h, 206 a-b, and 208 a-b), it will beappreciated that each of the memory arrays or instances of the depictedembodiment may be individually activated or placed in retention via itscorresponding active memory signal switch.

FIG. 3B provides a more granular schematic view of the LDO structure 332a coupled to 1 MB memory array 330 a. Entry and exit from retention forthe memory array 330 a is controlled by active memory signal swig viaswitch 340 a. The memory array 330 a is coupled to LDO structure 332 a,which comprises a differential amplifier 334 a coupled between a biasnode 336 a and ballast driver 338 a. While a second 1 MB memory array308 b is also depicted, the corresponding LDO structure coupled tomemory array 308 b is omitted for clarity. It will be appreciated thatin the embodiment, a second LDO structure 332 b is coupled to the second1 MB memory array 330 b, and that each of the corresponding LDOstructures 304 a-h, 312 a-h, and 320 a-b (respectively coupled to theindividual memory arrays 302 a-h, 310 a-h, and 318 a-b) includes astructure and components similar to those depicted with respect to LDOstructure 332 a. Each memory instance has a small ballast driver (e.g.,ballast driver 338 a). As the size of the memory instance increases, thesize of the coupled ballast driver transistor also increases. Smallinstances have small drivers, which facilitates avoiding area loss dueto over-design.

In an additional embodiment illustrated by FIG. 4, a small ballastdriver is respectively coupled to each of the memory arrays 302 a-h, 310a-h, 318 a-b, and 330 a-b, and driven by a common low power differentialamplifier 410. In contrast to the embodiment depicted in FIG. 3, aseparate respective LDO structure (comprising a separate differentialamplifier as well as the respective ballast driver) is not coupled toeach memory array, and therefore the embodiment of FIG. 4 may achievesignificant area savings while maintaining the ability to selectivelydetermine which individual memory arrays enter a retention state. In theembodiment, one cluster of memory arrays (e.g., a group of memoryarrays, such as 64 KB memory arrays 302) is assumed to enter intoretention prior to other instances, and may therefore operate as areference generator to produce V_(bias) for the other clusters. For easeof illustration, the cluster of memory arrays assumed to enter into theretention state before the other memory arrays as shown is memory array302. However, is some embodiments a different memory array may beassumed to enter into the retention mode prior to the other memoryarrays, such as memory array 310. If memory array 310 enters into theretention mode prior to any block it acts as the V_(bias) referencegenerator as no other block is in retention yet. In some embodiments,when a first memory array of a plurality of memory arrays enters into aretention stage (e.g., memory array 302, 310, 318 or 330), switches maybe provided to couple a bias node of that memory array (see switches624, 626 of FIG. 6) to the ballast driver to provide a referencevoltage. Delay circuits may be employed (see delay block 710 of FIG. 7)to stagger the timing of the entry of memory arrays into a retentionmode.

As depicted, the embodiment of FIG. 4 may be considered to provide amixture of closed loop control (such as with respect to 64 KB memoryarrays 302 and the differential amplifier 410) to regulate V_(bias), andopen loop control (such as with respect to differential amplifier 410 inconjunction with 128 KB memory arrays 310 a-h, 256 KB memory arrays 318a-b, and/or 1 MB memory arrays 330 a-b). Typically, a differentialamplifier having a high operational bandwidth is employed to accommodaterapid changes in the amount of memory in retention mode.

In an additional embodiment illustrated by FIG. 5, the plurality ofmemory arrays additionally memory array 515 coupled to a differentialamplifier 510. The replica memory array 515 may be a small memory arrayhaving a topology similar or identical to the larger memory arrayscoupled to the differential amplifier 510, and may be utilized in orderto maintain the LDO in an active state while maintaining the bias nodevoltage V_(bias) at a voltage that is close to the desired referencevoltage for the distributed ballast driver. The replica array 515operates in a closed loop, providing a gate bias to the distributedballast and setting the bias voltage for those memory arrays that areoperating in open loop mode (memory arrays 302, 310, 318, and 330). Asin the embodiments of FIGS. 3-4, entry and exit from retention for eachrespective memory array is controlled by the corresponding active memorysignals sw₁₋₂₀. In at least the depicted embodiment, in which the sourcebias NMOS transistors 530 a, 532 a, 534 a, 536 a, and 538 a arecontrolled via V_(bias) and in which the topology of the replica memoryarray 515 may be substantially identical to that of the additionalmemory arrays 302 a-h, 310 a-h, 318 a-b, and 330 a-b, the voltages atthe indicated nodes 520, 522, 524 and 526 may be maintained assubstantially equal to the indicated GNDXD voltage at the input ofdifferential amplifier 510 while the replica memory array 515 is inretention. This facilitates using differential amplifiers having loweroperational bandwidths.

In an additional embodiment illustrated by FIG. 6, a replica memoryarray 615 operates in the closed loop of an LDO structure 605, the biasnode of the replica array 615 is coupled to a common bias node or lineGNDXD. The LDO structure 605 is coupled to two memory instances, asillustrated SRAM instances 620 and 630. The SRAM instance 620 includes afirst memory array 622, as well as distributed ballast drivers 626 a to626 n; SRAM instance 630 includes a second memory array 632, as well asdistributed ballast drivers 636 a to 636 n. Each column of the memoryarrays 622 and 632 may have a corresponding distributed ballast driver626 i, 636 i respectively. The distributed ballast drivers 626 i, 636 iof non-replica memory cell arrays 622 and 632 are included in the closedloop of the LDO structure 605 while those memory cell arrays are inretention. Feedback transistor switches 624 and 634 are respectivelycoupled between the common bias node or line GNDXD of the LDO structure605 and the respective bias nodes or lines GNDX1, GNDX2 of eachnon-replica memory cell array 622 and 632; in the embodiment, thefeedback transistor switches provide greater control of the feedbackloop for LDO structure 605 by allowing physical shorting of bias nodeGNDXD and respectively each of bias nodes GNDX1 and GNDX2. With respectto SRAM instance 620, the feedback transistor switch 624 is closed whenthe source bias control SBC1 goes high and source bias control off SBCO1goes low, placing the memory array 622 into retention. Conversely, whensource bias control off SBCO1 goes high (readying memory array 622 foractive access), SBC1 goes low, opening the feedback transistor switch624 until the memory array 622 is once again in retention. The states ofSBC1 and SBCO1 typically would be controlled so as to avoid closing bothswitch 624 and 625 at the same time, in order to avoid disturbance offeedback within LDO structure 605. In a similar manner, with respect toSRAM instance 630, the feedback transistor switch 634 is closed when thesource bias control SBC2 goes high and source bias control off SBCO2goes low, placing the memory array 632 into retention. Conversely, whensource bias control off SBCO2 goes high (readying memory array 632 foractive access), SBC2 goes low, opening the feedback transistor switch634 until the memory array 632 is once again in retention. Once again,the states of SBC2 and SBCO2 typically would be controlled so as toavoid closing both switch 624 and 625 at the same time, in order toavoid disturbance of feedback within the coupled LDO structure 605.

In an additional embodiment illustrated by FIG. 7, the embodiment ofFIG. 6 has been modified to include an optional delay circuitry block710 in series with the control signal SBC2 of the feedback transistorswitch 634. The delay circuitry block 710 provides a time buffer betweenthe time at which memory array 632 is actively accessed and thereafterbeen placed in retention, such that the voltage of the bias nodeV_(bias) of the memory array 632 is allowed to settle to retention leveland thereby avoid feedback disruption of the LDO structure 605. It willbe appreciated that in various embodiments, such a delay block may besimilarly coupled in series with the respective control signalscorresponding to one or more additional memory arrays, such as in serieswith the control signal SBC1 of the feedback transistor switch 624 toavoid similar LDO feedback disruption via memory array 622. The delaysto different memory arrays may be staggered to facilitate avoidingdisruption of the feedback loop due to bringing a larger number ofarrays into retention at the same time.

In an additional embodiment illustrated by FIG. 8, the embodiment ofFIG. 6 has been modified to include optional control logic 810 in serieswith the control signal SBC2 of the feedback transistor switch 634, suchas to (with respect to memory array 632) sequence the source biascontrol off signal SBCO2 and the source bias control SBC2. The controllogic 810 is further coupled to a comparator 815 which compares thevoltage level of the memory array bias node GNDX2 and the feedbackvoltage GNDXD of the LDO structure 605. Via comparator enable 818,control logic 810 enables the comparator 815 when the memory cell arraychanges from active access to retention (e.g., when SBCO2 goes low). Inthis and various embodiments, source bias control SBC2 is not asserteduntil the voltage difference between GNDXD and GNDX2 is within athreshold range. In this manner, LDO feedback disruption is reducedduring the transition of memory array 632 from active access toretention.

Embodiments have been described herein as having a plurality of memoryarrays of disparate sizes. However, embodiments may have a plurality ofmemory arrays of the same size.

FIG. 9 depicts a block representation of an exemplary memory cell array901 in accordance with techniques described herein. In particular,memory cell array 901 comprises periphery logic 910, ten individual 256KB memory arrays (respectively identified as memory arrays 920 a-j), anddistributed ballast drivers 930 a-e, such that ballast drivers for thememory arrays 920 a-j are distributed and embedded within the memorycell array 901. FIG. 10 is a functional block diagram of an exemplaryelectronic device or system 1000 in which various embodiments describedherein may be utilized. The system 1000 may be used, for example, toimplement a convolutional neural network to classify sensor data. Itwill be appreciated that, as such neural networks may be very memoryintensive, the ability to efficiently transition portions of memory intoand out of retention as needed by the neural network may provide a majorimprovement with respect to the power management and overall performanceof such neural networks. In various implementations, the system 1000 maycomprise a system on a chip.

The system 1000 comprises a global memory 1002, which may serve forexample as a primary memory, such as for one or more neural networkprocesses or processing clusters, and for one or more host system 1004processes or processing clusters. The global memory 1002 comprisesmemory management circuitry 1006 and one or more shared memory arrays1008. It will be appreciated that the memory arrays 1008 may include oneor more instances of memory cell arrays in accordance with thetechniques described herein, such as one or more of memory arrays 302,310, 318 and 330 of FIGS. 3A-3B and 4-5, memory arrays 622 and 632 ofFIGS. 6-8, and memory cell array 901 of FIG. 9. The memory managementcircuitry 1006, in operation, employs one or more memory managementroutines to allocate regions of the shared memory arrays 1008 to variousprocesses executed by the system 1000.

As illustrated, the system 1000 comprises one or more data movers 1010,one or more memory bridges 1020, one or more sensors 1030 andcorresponding sensor interfaces 1032, one or more convolutionalaccelerator engines 1040, and one or more connected engines 1050, whichmay be implemented and operate to produce a classification output 1060.

The data movers 1010, in operation, move data streams between IOs (e.g.,sensor interfaces 1032), memory hierarchies (e.g., global memory 1002,memory bridges 1020), convolutional accelerators 1040 and connectedengines 1050.

In some embodiments, the system 1000 may include more components thanillustrated, may include fewer components than illustrated, may splitillustrated components into separate components, may combine illustratedcomponents, etc., and various combinations thereof.

According to at least one implementation, a system on chip (SoC) devicemay be summarized as including one or more processors, a memory coupledto the one or more processors and having a plurality of memory arrays,and one or more voltage regulators that are coupled to a ballast drivergate node and to a bias node of at least one of the respective memoryarrays. Each respective memory array of the plurality of memory arraysmay be coupled to a respective ballast driver and a respective activememory signal switch for the respective memory array.

Each of the one or more voltage regulators may be a low dropoutregulator (LDO).

In operation, the respective active memory signal switch for arespective memory array may cause the respective memory array totransition between an active state for the respective memory array and aretention state for the respective memory array.

Each respective memory array of the plurality of memory arrays may becoupled to a respective voltage regulator via a respective bias node ofthe respective memory array, and the output of the respective voltageregulator may be coupled to a gate node of the respective ballast driverfor the respective memory array.

The one or more voltage regulators coupled to the plurality of memoryarrays may be a common voltage regulator having an output coupled to arespective gate node of each respective ballast driver for each memoryarray of the plurality of memory arrays.

The plurality of memory arrays may include a first set of memory arraysand an additional memory array. A bias node of the additional memoryarray may be coupled to a common bias node of the common voltageregulator and, in operation, the additional memory array may bemaintained in a retention state. The additional memory array may have asize that is less than a size of any of the first set of memory arrays.A bias node of at least one memory array of the first set of memoryarrays may be coupled to common bias node via a first switch; inoperation, the first switch may be closed in response to an opening ofthe respective active memory signal switch for the at least one memoryarray. The SoC device may include delay circuitry coupled to the sourcenode of the first transistor, such that in operation the delay circuitrydelays the closing of the first switch in response to the opening of therespective active memory signal switch of the at least one memory array.The SoC device may include control logic coupled to the first switch andthe active memory signal switch for the at least one memory array, suchthat in operation, the control logic closes the first switch based atleast in part on a voltage at the bias node of the additional memoryarray being within a threshold range of a voltage at the bias node ofthe at least one memory array.

The plurality of memory arrays may comprise static random access memory(SRAM).

The respective ballast drivers for the plurality of memory arrays may beembedded within the plurality of memory arrays and distributed withinthe plurality of memory arrays.

According to at least one other implementation, a computing system maybe summarized as including one or more processors, a memory coupled tothe one or more processors and having a plurality of memory arrays, andone or more voltage regulators that are coupled to a ballast driver gatenode and to a bias node of at least one of the respective memory arrays.Each respective memory array of the plurality of memory arrays may becoupled to a respective ballast driver and a respective active memorysignal switch for the respective memory array.

Each of the one or more voltage regulators may be a low dropoutregulator (LDO).

Each respective memory array of the plurality of memory arrays may becoupled to a respective voltage regulator via a respective bias node ofthe respective memory array, and the output of the respective voltageregulator may be coupled to a gate node of the respective ballast driverfor the respective memory array.

The one or more voltage regulators coupled to the plurality of memoryarrays may be a single or common voltage regulator coupled to arespective gate node of each respective ballast driver for each memoryarray of the plurality of memory arrays.

The plurality of memory arrays may include a first set of memory arraysand an additional memory array. A bias node of the additional memoryarray may be coupled to a common bias node of the common voltageregulator and, in operation, the additional memory array may bemaintained in a retention state. A bias node of at least one memoryarray of the first set of memory arrays may be coupled to the commonbias node of the common voltage regulator via a first switch; inoperation, the first switch may be closed in response to an opening ofthe respective active memory signal switch for the at least one memoryarray.

According to at least one additional implementation, a memory device maybe summarized as including a plurality of memory arrays and one or morevoltage regulators that are coupled to a ballast driver gate node and toa bias node of at least one of the respective memory arrays. Eachrespective memory array of the plurality of memory arrays may be coupledto a respective ballast driver and a respective active memory signalswitch for the respective memory array such that in operation, therespective active memory signal switch for a respective memory array maycause the respective memory array to transition between an active statefor the respective memory array and a retention state for the respectivememory array.

Each respective memory array of the plurality of memory arrays may becoupled to a respective voltage regulator via a respective bias node ofthe respective memory array, and the output of the respective voltageregulator may be coupled to a gate node of the respective ballast driverfor the respective memory array.

The one or more voltage regulators coupled to the plurality of memoryarrays may be a common voltage regulator coupled to a respective gatenode of each respective ballast driver for each memory array of theplurality of memory arrays.

The plurality of memory arrays may include a first set of memory arraysand an additional memory array. A bias node of the additional memoryarray may be coupled to a common bias node of the common voltageregulator and, in operation, the additional memory array may bemaintained in a retention state. A bias node of at least one memoryarray of the first set of memory arrays may be coupled to the commonbias node of the common voltage regulator via a first switch, such thatin operation, the first switch is closed in response to opening of therespective active memory signal switch for the at least one memoryarray.

According to an additional implementation, a system may be summarized asincluding one or more processors; a memory that is coupled to the one ormore processors and has a plurality of memory arrays that includes afirst set of memory arrays and an additional memory array that, inoperation, is maintained in a retention state; a voltage regulatorcoupled to a gate node of a respective ballast driver for each memoryarray of the plurality of memory arrays and to a bias node of theadditional memory array; a first switch coupled between a bias node ofat least one memory array of the first set of memory arrays and the biasnode of the additional memory array; and control logic coupled to thefirst switch and to the active memory signal switch for the at least onememory array. Each respective memory array of the plurality of memoryarrays may be coupled to a respective ballast driver and a respectiveactive memory signal switch for the respective memory array. Inoperation, the control logic may close the first switch responsive to avoltage at the bias node of the additional memory array being within athreshold range of a voltage at the bias node of the at least one memoryarray.

In an embodiment, a method comprises: executing one or more processes ona system on chip (SoC) having one or more processing cores and a memory,the memory having a plurality of memory arrays, wherein each respectivememory array of the plurality of memory arrays is coupled to arespective ballast driver and a respective active memory signal switchfor the respective memory array; and controlling, during the executionof the one or more processes, the respective active memory signalswitches of the plurality of memory arrays to place the respectivememories arrays in an active or a retention mode of operation. In anembodiment, the memory comprises a voltage regulator coupled to aballast driver gate node and to a bias node of at least one of therespective memory arrays. In an embodiment, each respective memory arrayof the plurality of memory arrays is coupled to a respective voltageregulator via a respective bias node of the respective memory array, andthe output of the respective voltage regulator is coupled to a gate nodeof the respective ballast driver for the respective memory array. In anembodiment, the plurality of memory arrays includes a first set ofmemory arrays and an additional memory array, wherein the a bias node ofthe additional memory array is coupled to a common bias node of a commonvoltage regulator, and the method comprises maintaining the additionalmemory array in a retention state during execution of the one or moreprocesses. In an embodiment, the additional memory array has a size thatis less than a size of any of the first set of memory arrays. In anembodiment, the method comprises selectively coupling a bias node of atleast one memory array of the first set of memory arrays to the commonbias node of the common voltage regulator in response to transitioningthe at least one memory array into a retention state. In an embodiment,the method comprises delaying the selective coupling. In an embodiment,the method comprises coupling the bias node of the additional memoryarray to the bias node of the at least one memory array based on acomparison of a voltage at the bias node of the additional memory arrayto a voltage at the bias node of the at least one memory array.

In an embodiment, a non-transitory computer-readable medium's contentscause a computing system of a system-on-a-chip (SoC) to perform a methodin accordance with one or more embodiments of the methods disclosedherein. In an embodiment, the contents include instructions, which, whenexecuted by the SoC, cause the SoC to perform the method.

Some embodiments may take the form of or comprise computer programproducts. For example, according to one embodiment there is provided acomputer readable medium comprising a computer program adapted toperform one or more of the methods or functions described above. Themedium may be a physical storage medium, such as for example a Read OnlyMemory (ROM) chip, or a disk such as a Digital Versatile Disk (DVD-ROM),Compact Disk (CD-ROM), a hard disk, a memory, a network, or a portablemedia article to be read by an appropriate drive or via an appropriateconnection, including as encoded in one or more barcodes or otherrelated codes stored on one or more such computer-readable mediums andbeing readable by an appropriate reader device.

Furthermore, in some embodiments, some or all of the methods and/orfunctionality may be implemented or provided in other manners, such asat least partially in firmware and/or hardware, including, but notlimited to, one or more application-specific integrated circuits(ASICs), digital signal processors, discrete circuitry, logic gates,standard integrated circuits, controllers (e.g., by executingappropriate instructions, convolutional accelerators, and includingmicrocontrollers and/or embedded controllers), field-programmable gatearrays (FPGAs), complex programmable logic devices (CPLDs), etc., aswell as devices that employ RFID technology, and various combinationsthereof.

The various embodiments described above can be combined to providefurther embodiments. Aspects of the embodiments can be modified, ifnecessary to employ concepts of the various patents, applications andpublications to provide yet further embodiments.

These and other changes can be made to the embodiments in light of theabove-detailed description. In general, in the following claims, theterms used should not be construed to limit the claims to the specificembodiments disclosed in the specification and the claims, but should beconstrued to include all possible embodiments along with the full scopeof equivalents to which such claims are entitled. Accordingly, theclaims are not limited by the disclosure.

1. A system on chip (SoC) device, comprising: one or more processors; amemory coupled to the one or more processors and having a plurality ofmemory circuits, wherein each respective memory circuits of theplurality of memory circuits is coupled to a respective ballast driverand a respective active memory signal switch for the respective memorycircuit; and one or more voltage regulators that are coupled to aballast driver gate node and to a bias node of at least one of therespective memory circuits.
 2. The SoC device of claim 1, wherein eachof the one or more voltage regulators is a low dropout regulator (LDO).3. The SoC device of claim 1 wherein, in operation, the respectiveactive memory signal switch for a respective memory circuit causes therespective memory circuit to transition between an active state for therespective memory circuit and a retention state for the respectivememory circuit.
 4. The SoC device of claim 1, wherein each respectivememory circuit of the plurality of memory circuits is coupled to arespective voltage regulator via a respective bias node of therespective memory circuit, and wherein the output of the respectivevoltage regulator is coupled to a gate node of the respective ballastdriver for the respective memory circuit.
 5. The SoC device of claim 1,wherein the one or more voltage regulators coupled to the plurality ofmemory circuits is a common voltage regulator coupled to a respectivegate node of each respective ballast driver for each memory circuit ofthe plurality of memory circuits.
 6. The SoC device of claim 5, whereinthe plurality of memory circuits includes a first set of memory circuitsand an additional memory circuit, wherein a bias node of the additionalmemory circuit is coupled to a common bias node of the common voltageregulator, and wherein the additional memory circuit, in operation, ismaintained in a retention state.
 7. The SoC device of claim 6, whereinthe additional memory circuit has a size that is less than a size of anyof the first set of memory circuits.
 8. The SoC device of claim 6,wherein a bias node of at least one memory circuit of the first set ofmemory circuits is coupled to the common bias node of the common voltageregulator via a first switch, and wherein in operation, the first switchis closed in response to opening of the respective active memory signalswitch for the at least one memory circuit.
 9. The SoC device of claim 8comprising delay circuitry coupled to the switch, wherein in operationthe delay circuitry delays the closing of the first switch in responseto the opening of the respective active memory signal switch of the atleast one memory circuit.
 10. The SoC device of claim 1 wherein theplurality of memory circuits includes a first set of memory circuits,and an additional memory circuit that during operation is maintained ina retention state, wherein the SoC device comprises control logiccoupled to the active memory signal switch for at least one memorycircuit of the first set of memory circuits and to a first switch thatis coupled between a bias node of the additional memory circuit and abias node of the at least one memory circuit, and wherein in operationthe control logic closes the first switch based at least in part on avoltage at the bias node of the additional memory circuit being within athreshold range of a voltage at the bias node of the at least one memorycircuit.
 11. The SoC device of claim 1, wherein the plurality of memorycircuits comprise static random access memory (SRAM) arrays.
 12. The SoCdevice of claim 1, wherein the respective ballast drivers for theplurality of memory circuits are embedded within the plurality of memorycircuits and distributed within the plurality of memory circuits.
 13. Acomputing system, comprising: one or more processors; a memory coupledto the one or more processors and having a plurality of memory circuits,wherein each respective memory circuit of the plurality of memorycircuits is coupled to a respective ballast driver and a respectiveactive memory signal switch for the respective memory circuit; and oneor more voltage regulators that are coupled to a ballast driver gatenode and to a bias node of at least one of the respective memorycircuits.
 14. The computing system of claim 13, wherein each of the oneor more voltage regulators is a low dropout regulator (LDO).
 15. Thecomputing system of claim 13, wherein each respective memory circuit ofthe plurality of memory circuits is coupled to a respective voltageregulator via a respective bias node of the respective memory circuit,and wherein the output of the respective voltage regulator is coupled toa gate node of the respective ballast driver for the respective memorycircuit.
 16. The computing system of claim 13, wherein the one or morevoltage regulators coupled to the plurality of memory circuits is acommon voltage regulator coupled to a respective gate node of eachrespective ballast driver for each memory circuit of the plurality ofmemory circuits.
 17. The computing system of claim 16, wherein theplurality of memory circuits includes a first set of memory circuits andan additional memory circuit, wherein a bias node of the additionalmemory circuit is coupled to a common bias node of the common voltageregulator, and wherein the additional memory circuit, in operation, ismaintained in a retention state.
 18. The computing system of claim 17,wherein a bias node of at least one memory circuit of the first set ofmemory circuits is coupled to the common bias node of the common voltageregulator via a first switch, and wherein in operation, the first switchis closed in response to opening of the respective active memory signalswitch for the at least one memory circuit.
 19. The computing system ofclaim 13 wherein the plurality of memory circuits comprises a pluralityof memory arrays.
 20. A memory device, comprising: a plurality of memorycircuits, wherein each respective memory circuit of the plurality ofmemory circuits is coupled to a respective ballast driver and arespective active memory signal switch for the respective memorycircuit, and wherein in operation, the respective active memory signalswitch for a respective memory circuit causes the respective memorycircuit to transition between an active state for the respective memorycircuit and a retention state for the respective memory circuit; and oneor more voltage regulators that are coupled to a ballast driver gatenode and to a bias node of at least one of the respective memorycircuits. 21.-32. (canceled)